package com.sxdx.dao.impl;

import java.io.Serializable;
import java.util.List;
import javax.annotation.Resource;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.hibernate.Query;
import org.springframework.stereotype.Repository;
import com.sxdx.dao.BaseDAO;
import com.sxdx.dao.LabDAO;
import com.sxdx.entity.Laboratory;

@SuppressWarnings("all")
@Repository("labDAO")
public class LabDAOImpl implements LabDAO {
	private static Logger logger = LogManager.getLogger(Thread.currentThread().getStackTrace()[1].getClassName());
	@Resource(name = "baseDAO")
	private BaseDAO<Laboratory> baseDAO;

	public Serializable save(Laboratory labcontrol) {
		return baseDAO.save(labcontrol);
	}

	public void delete(Laboratory labcontrol) {
		baseDAO.delete(labcontrol);
	}

	public void update(Laboratory laboratory) {
		baseDAO.update(laboratory);
	}

	public void saveOrUpdate(Laboratory labcontrol) {
		baseDAO.save(labcontrol);
	}

	public List<Laboratory> find(String hql) {
		return baseDAO.find(hql);
	}

	public List<Laboratory> find(String hql, Object[] param) {
		return baseDAO.find(hql, param);
	}

	public List<Laboratory> find(String hql, List<Object> param) {
		return baseDAO.find(hql, param);
	}

	public List<Laboratory> find(String hql, Object[] param, Integer page, Integer rows) {
		return baseDAO.find(hql, param, page, rows);
	}

	public List<Laboratory> find(String hql, List<Object> param, Integer page, Integer rows) {
		return baseDAO.find(hql, param, page, rows);
	}

	public Laboratory get(Class<Laboratory> c, Serializable id) {
		return baseDAO.get(Laboratory.class, id);
	}

	public Laboratory get(String hql, Object[] param) {
		return baseDAO.get(hql, param);
	}

	public Laboratory get(String hql, List<Object> param) {
		return baseDAO.get(hql, param);
	}

	public Long count(String hql) {
		return baseDAO.count(hql);
	}

	public Long count(String hql, Object[] param) {
		return baseDAO.count(hql, param);
	}

	public Long count(String hql, List<Object> param) {
		return baseDAO.count(hql, param);
	}

	public Integer executeHql(String hql) {
		return baseDAO.executeHql(hql);
	}

	public Integer executeHql(String hql, Object[] param) {
		return baseDAO.executeHql(hql, param);
	}

	public Integer executeHql(String hql, List<Object> param) {
		return baseDAO.executeHql(hql, param);
	}

	public List<Laboratory> page(String hql, Integer offset, Integer size) {
		return baseDAO.page(hql, offset, size);
	}

	public Query findBySql(String sql) {
		// TODO Auto-generated method stub
		return null;
	}
}
